# 第一阶段：构建阶段
FROM maven:3.8.6-openjdk-8 AS build

# 设置工作目录
WORKDIR /app

# 复制项目的 POM 文件和其他依赖文件
COPY pom.xml .

# 下载所有依赖（利用缓存加速后续构建）
RUN mvn dependency:go-offline

# 复制项目的源代码
COPY src ./src

# 打包项目，跳过测试以加快构建速度
RUN mvn clean package spring-boot:repackage -DskipTests

# 第二阶段：运行阶段
FROM openjdk:8-jre-alpine

# 设置工作目录
WORKDIR /app

# 从构建阶段复制生成的 JAR 文件
COPY --from=build /app/target/personal-blog-backend-1.0-SNAPSHOT.jar app.jar

# 暴露应用运行的端口
EXPOSE 8080

# 设置容器启动时执行的命令
ENTRYPOINT ["java", "-jar", "app.jar"]